arr = [1, 2, 3, 4, 6]


// 没有 return 返回值
// arr.forEach((item, index, arr) => {
//     if (item === 1) {
//         return
//     }
//     console.log(item);
// })
// 输出：
// 2
// 3
// 4
// 6

// 问题在于，只是没有输出 1，但是没有终止 forEach 的遍历

// 如何终止 forEach 的遍历
// 抛出(throw)错误
// return 是没有用的
// try {
//     arr.forEach((item, index, arr) => {
//         if (item === 3) {
//             throw new Error("终止")
//         }
//         console.log(item);
//     })
// } catch (error) {
//     console.log(error.message);
// }


// 遍历数组，有返回值
// let res = arr.map((item, index, arr) => {
//     if (item === 3) {
//         return item
//     }
//     console.log(item);
//     return item
// })
// console.log(res);s

// 移除不符合条件的元素,符合的元素存入一个新数组并返回，不改变原数组
// const res = arr.filter((item, index, arr) => {
//     return item !== 1;
// })
// console.log(arr);
// console.log(res);

// reduce(回调函数，pre的初始值)
// pre 上一次return出来的值
// 最终有返回值，最后一遍执行后的pre
// let res = arr.reduce((pre, item, index, arr) => {
//     // console.log(pre, item, index);
//     return pre + item
// }, 0)
// console.log(res);

// (小，大)
// x - y升序
// y - x降序
// arr.sort((x, y) => {
//     return x - y;
// })
// console.log(arr);
